@use "sass:map";
@use "sass:list";

$tagsThemeList: (
  (
    name: "primary",
    textColor: var(--vxe-ui-font-primary-color),
    bgColor: var(--vxe-ui-font-primary-tinge-color)
  ),
  (
    name: "success",
    textColor: var(--vxe-ui-status-success-color),
    bgColor: var(--vxe-ui-status-success-tinge-color)
  ),
  (
    name: "info",
    textColor: var(--vxe-ui-status-info-color),
    bgColor: var(--vxe-ui-status-info-tinge-color)
  ),
  (
    name: "warning",
    textColor: var(--vxe-ui-status-warning-color),
    bgColor: var(--vxe-ui-status-warning-tinge-color)
  ),
  (
    name: "danger",
    textColor: var(--vxe-ui-status-danger-color),
    bgColor: var(--vxe-ui-status-danger-tinge-color)
  ),
  (
    name: "error",
    textColor: var(--vxe-ui-status-error-color),
    bgColor: var(--vxe-ui-status-error-tinge-color)
  )
);

.vxe-tag {
  padding: var(--vxe-ui-layout-padding-half) var(--vxe-ui-layout-padding-default);
  color: var(--vxe-ui-font-color);
  border-radius: var(--vxe-ui-base-border-radius);
  @for $index from 0 to list.length($tagsThemeList) {
    $item: list.nth($tagsThemeList, $index + 1);
    &.theme--#{map.get($item, name)} {
      color: map.get($item, textColor);
      background-color: map.get($item, bgColor);
    }
  }
  &.size--medium {
    font-size: var(--vxe-ui-font-size-medium);
  }
  &.size--small {
    font-size: var(--vxe-ui-font-size-small);
  }
  &.size--mini {
    font-size: var(--vxe-ui-font-size-mini);
  }
  & + .vxe-tag {
    margin-left: 8px;
  }
}
.vxe-tag--icon {
  padding: 0 0.1em;
}
.vxe-tag--content {
  padding: 0 0.1em;
}

.vxe-tag {
  &.size--medium {
    font-size: var(--vxe-ui-font-size-medium);
  }
  &.size--small {
    font-size: var(--vxe-ui-font-size-small);
  }
  &.size--mini {
    font-size: var(--vxe-ui-font-size-mini);
  }
}